﻿using System;

namespace MugenInjection.Interface
{
    /// <summary>
    /// An object that notifies when it is disposed.
    /// </summary>
    public interface IDisposableObject : IDisposable
    {
        /// <summary>
        /// Gets a value indicating whether this instance is disposed.
        /// </summary>
        bool IsDisposed { get; }

        /// <summary>
        /// Occured after disposed current <see cref="IDisposableObject"/>.
        /// </summary>
        event Action<IDisposableObject> Disposed;
    }
}